// /utils/userService.js

const app = getApp();

/**
 * 统一函数：上传头像文件
 * @param {string} filePath - 图片的本地临时路径
 * @returns {Promise<string>} - 返回新头像的永久相对路径
 */
const uploadAvatar = (filePath) => {
  // 直接调用全局封装的 upload 方法
  return app.upload({
    url: '/api/app/profile/avatar',
    filePath: filePath,
    name: 'file', // 后端接收文件的字段名
  }).then(res => {
    // 假设后端返回的数据是 { url: '...' } 的格式
    return res.url; 
  });
  // .catch 会被调用此函数的地方捕获，无需在这里重复处理
};
/**
 * 统一函数：更新用户资料
 * @param {object} profileData - 包含用户字段的对象（可多可少）
 * @returns {Promise<object>}
 */
const updateProfile = (profileData) => {
  let dataToSend = { ...profileData };
  console.log(dataToSend);
  if (dataToSend.avatar_url && dataToSend.avatar_url.startsWith(app.globalData.config.baseUrl)) {
      dataToSend.avatar_url = dataToSend.avatar_url.replace(app.globalData.config.baseUrl, '');
  }

  return app.request({
    url: '/api/app/profile/me',
    method: 'PUT',
    data: dataToSend
  });
};

export {
  uploadAvatar,
  updateProfile,
};